import DataManager from "./DataManager";
import ASdk from "./SdkAll";
import SeverSwitchRequest from "./SeverSwitchRequest";
import PopManager from "./pop/PopManager";
import * as UserManager from "../scripts/UserManager.js"
import * as UserConst from "../scripts/UserConst.js"
import * as BmsManager from "../scripts/BmsManager.js"
import ks_analytics from "./ks_analytics";
import crtkc from "../scripts/crtkc";
import { Tip } from "../scripts/TipManager";

// import GravityEngine = require("./gravityengine.mg.ks.min");
const { ccclass, property } = cc._decorator;
declare global {
  interface Window {
    showIn(): void;
    tclevel():void;
    adp2:number[];
    adp3:number
  }
}
export {};

@ccclass
export default class ad extends cc.Component {


  // LIFE-CYCLE CALLBACKS:
  @property(cc.Node)
  private lPoint: cc.Node = null;
  @property(cc.Node)
  private rPoint: cc.Node = null;

  @property(cc.Node)
  private sliderNode: cc.Node = null;

  @property(cc.Node)
  private deskNode: cc.Node = null;


  lastCheckedDate = {
    day: 0
  };
  // const config = {
  //   accessToken: "your_access_token", // 项目通行证，在：网站后台-->设置-->应用列表中找到Access Token列 复制（首次使用可能需要先新增应用）
  //   clientId: "your_client_id", // 用户唯一标识，如产品为小游戏，则必须填用户openid（注意，不是小游戏的APPID！！！）
  //   name: "ge", // 全局变量名称，可使用getApp().ge获取ge
  //   debugMode: "debug", // 是否开启测试模式，开启测试模式后，可以在 网站后台--设置--元数据--事件流中查看实时数据上报结果。（测试时使用，上线之后一定要关掉，改成none或者删除）
  // };
  // const ge = new GravityEngine(config);
  // ge.setupAndStart();
  
   onLoad() {
    // const canUse = crtkc.getData('slideCanUse', 0);
    // if(canUse){
    //   this.sliderNode.active = true;
    // }else{
    //   this.sliderNode.active = false;
    // }

    const deskCanUse = crtkc.getData('shortcutCanUse', 0);
    if(deskCanUse){
      this.deskNode.active = true;
    }else{
      this.deskNode.active = false;
    }
    
    

  }
  protected start(): void {
    this.lPoint.active=cc.sys.localStorage.getItem('lpoint')
    this.rPoint.active=cc.sys.localStorage.getItem('rpoint')
  }
  showIn(){

  }
  showDes() {
    console.log('show 第二关')
    PopManager.show('prefab/popup/CommonDes')
  }

  // 设为常用  
  // 常用红点领取后消失  第二天出现
  setUse() {
    console.log('设为常用');
    let state = crtkc.getData('addCommon1', 0);
    if(state){
        Tip.show("已设为常用");
    }else{      
      //@ts-ignore
      window.__prv.showCommonUseView();
    }

    // PopManager.show('prefab/popup/CommonUse');

    // const ks = window['ks']
    // ks.addCommonUse({
    //     success() {
    //       console.log("设为常用成功");
    //     },
    //     fail(err) {
    //       if (err.code === -10005) {
    //           console.log("暂不支持该功能");
    //       } else {
    //           console.log("设为常用失败", err.msg);
    //       }
    //     },
    //   });

  }
  // 检查是否为常用
  checkCommonUse() {
    // const ks = window['ks']
    // ks.checkCommonUse({
    //   success(res) {
    //     console.log(`设为常用查询结果为：${res.isCommonUse}`);
    //   },
    //   fail(err) {
    //     if (err.code === -10005) {
    //       console.log("暂不支持该功能");
    //     } else {
    //       console.log("设为常用查询失败", err.msg);
    //     }
    //   },
    // });

  }
  // 添加到桌面   第一关结束弹出  桌面进入给奖励
  // 未添加到桌面出现红点  添加后消失  第二天出现  通过桌面进入 红点消失
  setDes() {
    console.log('设为桌面');
      //@ts-ignore
      window.__prv.setDeskView();
    // PopManager.show('prefab/popup/CommonDes');
    // const ks = window['ks']
    // ks.addShortcut({
    //     success() {
    //       console.log("添加桌面成功");
    //     },
    //     fail(err) {
    //       if (err.code === -10005) {
    //           console.log("暂不支持该功能");
    //       } else {
    //           console.log("添加桌面失败", err.msg);
    //       }
    //     },
    //   });


  }
  // 检查小游戏快捷方式是否已添加到手机桌面上
  checkShortcut() {
    // const ks = window['ks']
    // ks.checkShortcut({
    //   success(res) {
    //     //根据res.installed 来判断是否添加成功
    //     console.log("是否已添加快捷方式", res.installed);
    //   },
    //   fail(err) {
    //     if (err.code === -10005) {
    //       console.log("暂不支持该功能");
    //     } else {
    //       console.log("检查快捷方式失败", err.msg);
    //       //注意：快捷方式和mini apk的方式，用户装了哪种都算成功走success回调。
    //       //但是如果都没装的情况下，为兼容以前版本，会先判断快捷方式，再判断mini apk的方式，这种情况最后会走到fail回调
    //       //所以当err.msg为"apk info is invalid"的情况出现时，也可以在游戏内展示添加桌面的icon提醒用户。
    //     }
    //   },
    // });

  }
  public leftPoint() {
    if (this.lPoint.active) {
      this.lPoint.active = !this.lPoint.active
      cc.sys.localStorage.setItem('lpoint', false)
    }
  }
  public rightPoint() {
    if (this.rPoint.active)
      this.rPoint.active = !this.rPoint.active
      cc.sys.localStorage.setItem('rpoint', false)

  }

  checkIfNextDay() {
    let currentDate = new Date();
    let currentDay = currentDate.getDate();

    if (currentDay != cc.sys.localStorage.getItem('time')) {
      // 到达了第二天凌晨，这里可以添加相应的业务逻辑代码，比如触发一些每日重置的操作等
      this.lPoint.active = true
      this.rPoint.active = true
      cc.sys.localStorage.setItem('lpoint', true)
      cc.sys.localStorage.setItem('rpoint', true)
      console.log("到达了第二天凌晨");
      // 更新上次检查的时间信息
      cc.sys.localStorage.setItem('time', currentDay)
    }
  }
  // update (dt) {}

  
}
